This invention relates to a multiple-invariant, space-variant optical processor or correlator and, more particularly, the invention is concerned with providing a multiple-invariant space-variant optical processor in which two functions, described by any number of separate distortion parameters, can be correlated with no loss in signal-to-noise ratio of the correlation. The unknown distortion parameters can also be determined in this scheme wherein the key step includes the determination of the non-linear phase portion of a complex optical transform.
The parallel processing and real-time features of optical processors have not been sufficient alone for these systems to see extensive use in pattern recognition. One of the reasons for this lack of practical use for optical correlators has been their lack of flexibility and the limited number of operations achievable in these processors. Hybrid optical/digital processors and space variant optical processors have increased the flexibility of these systems and included non-linear operations and space variant systems to the repertoire of optical processors. Recently, a space-variant, distortion-invariant optical correlator using coordinate transformations that allows correlation of two functions that are distorted versions of one another has been reported on (D. Casasent and D. Psaltis, Proc. IEEE, 65, 77 of 1977). However, this approach could only be applied to functions that were distorted by at the most, two separate distortions (for a two-dimensional system). Since more than two distortions occur in practice in image pattern recognition problems, optical processors must address such real issues if they are to be viable candidate pattern recognition systems. In the hereinafter described processor, the formulation of a multiple-invariant, space-variant optical processor that is invariant to multiple distortions is considered. A general theoretical analysis is presented first, followed by several specific cases and implementation methods.
Since these multiple-invariant systems will be formulated using space variant processing methods, specifically by use of coordinate transformations, the general formulation of a distortion-invariant, space variant processor is reviewed. A one-dimensional example is considered for simplicity. Let f(x) be the original undistorted function. The distorted function f'(x) is described by EQU f'(x)=f(x')=f[g(x,a)], (1)
where g(x,a) is the distorting function and "a" is the unknown distortion parameter. To realize a space variant processor (invariant to the g(x,a) distorting function), a coordinate transformation .xi.=h.sup.-1 (x) is applied to both functions. This produces two new functions f.sub.1 (.xi.) and f'.sub.1 (.xi.), which can be used in a conventional space invariant correlator to achieve correlation invariant to the distortion g(x,a).
The coordinate transformation is chosen to convert the distortion into a shift .xi..sub.0 for all values of "a." Given g(x,a), the coordinate transformation can be found from: ##EQU1## These new coordinate transformed functions f.sub.1 (x) and f'.sub.1 (x) are shifted versions of one another. Thus a conventional space invariant system can be used to correlate them. The intensity of the output correlation peak will be independent of "a" and the location of the output correlation peak will be proportional to "a". These basic principles are used in several stages in the present multiple invariant system.
Prior space variant processors using coordinate transformations can accommodate only one distortion parameter per axis (one distortion parameter for a 1-D system or two distortions for a 2-D system, or in general one distortion parameter per axis). If the distorting function depends on more than one parameter, then the distorted function is: EQU f'(x)=f(x')=f[g(x,a.sub.1,a.sub.2)], (3)
where 1-D functions are used and the distortion function g is described by two distortion parameters a.sub.1 and a.sub.2. Then from Eq. (2), we see that since h.sup.-1 (x) depends on .differential.g/.differential.a.sub.i and since EQU .sup..differential. g/.sup..differential. a.sub.i .noteq..sup..differential. g/.sup..differential. a.sub.j ( 4)
each of the distortion parameters requires a different coordinate transformation h.sup.-1 (x). It thus follows that the maximum number of distortion parameters that coordinate transformation processing one accommodate equals the number of dimensions of the processing system. In this context, a distortion is "multiple" if it is described by more parameters than coordinate transformation processing can accommodate.
When the distorted function is described by Eq. (3), we can achieve multiple invariance by: (a) scanning through all values of the additional distorting parameter, or (b) elimination of the additional distorting parameter by filtering in the transform plane.
The first approach involves construction of a number of systems invariant to one of the parameters (say a.sub.1), with each system corresponding to one value of the second parameter a.sub.2. If these systems cover all values of a.sub.2, the output of one of them will be the same for all values of a.sub.1 and a.sub.2 for all input functions related by Eq. (3). This approach has been used in multiple holographic matched spatial filter systems, conventional multichannel Doppler signal processors, and in optical correlators using mechanical movement of components to effect a scale or rotational search. However, these solutions require a large processing space (if parallel) or are slow (if sequential).
The second approach is more attractive. It uses the fact that a shift in the input coordinates can be transformed into a linear phase factor in Fourier transform space. Elimination of this phase factor also eliminates any shifts in the input coordinates. Until now only the formation of the magnitude of the Fourier transform has been suggested as a method of achieving multiple invariance. We consider this formulation and its shortcomings in detail below.
With the reference function f(x) and the distorted input function f'(x) defined by Eq. (3), we can realize multiple invariance by first applying the transformation x=h(.xi.) to f'(x). This transformation must satisfy EQU g(x,a.sub.1 a.sub.2)=g[h(.xi.-.xi..sub.0),a.sub.2 ], (5)
where .xi..sub.0 =.xi..sub.0 (a.sub.1) is a constant depending only on the unknown distortion parameter a.sub.1. The transformation x=h(.xi.) is determined from Eq. (2). This yields a new function: EQU f"(.xi.-.xi..sub.0,a.sub.2)=f{g[h(.xi.-.xi..sub.0),a.sub.2 ]}. (6)
If we attempted to correlate f and f" in a conventional space invariant processor, the peak intensity of the correlation will fluctuate as a.sub.2 changes. Using a 2-D multichannel processor, each channel can be adjusted to correspond to different a.sub.2 values. This will solve the 1-D problem presently being discussed but not the 2-D version of it.
To address the real problem, elimination of the distortion parameter a.sub.1, we form the Fourier transform of f and f". This yields EQU [f"(.xi.-.xi..sub.0,a.sub.2)]=exp(-j.omega..xi..sub.0)F"(.omega.), (7)
where F" is the Fourier transform of f" and .omega. is the radian spatial frequency variable in the Fourier transform plane. If we form the magnitude of the Fourier transform of f", we will have removed the dependence on a.sub.1. We can then retransform F"(.omega.) and recover f" independent of a.sub.1. This new f" function and f can then be correlated, except that we have lost the phase of F(.omega.) and hence potentially useful information about f". The magnitude of the Fourier transform represents the frequencies present in the input and the phase of the Fourier transform is affected by the distribution of these frequencies in the input. Thus some information is lost, since two functions with the same frequency content but different spatial distributions of these frequencies could produce identical results. This could lead to false correlations for such functions. The extent of this as a problem depends upon the specific functions and application.
However, two processors can be cascaded as in FIG. 1. The first processor consists of a coordinate transformation that converts a.sub.1 to a shift by .xi..sub.0 as before. The magnitude of the Fourier transform of this function (together with f subjected to the same transformation and Fourier transform magnitude operation) can then be used as the input to a correlator invariant to a.sub.2 (as a.sub.2 affects the magnitude of the Fourier transform). The location of the output correlation peak will then be proportional to a.sub.2 as in conventional space variant processing by coordinate transformations.
f and f' (the original distorted function) are then used as inputs to a second space variant correlator (invariant to a.sub.1). This second correlator is made adjustable so that it responds to different a.sub.2 values. The output of the second correlator then provides a correlation invariant to a.sub.1 and a.sub.2 and the location of the output correlation peak is proportional to a.sub.1. Thus a.sub.1 and a.sub.2 can be determined and multiple distortion achieved in this system.
This method has several limitations besides the loss of phase information associated with the formation of the magnitude of the Fourier transform. First, the coordinate distortion described by a.sub.2 may or may not be preserved as a coordinate transformation in Fourier space. Furthermore, in the presence of noise, the magnitude of the Fourier transform is not completely unaffected by a shift since interference occurs between the signal and the noise.